import { useAppStore } from '@/stores'

const appStore = useAppStore()

// /**
//  * ref版本
//  * 根据code返回字典
//  * 数据格式为map
//  * @param code 字典编码
//  * @returns
//  */
// export const useDict = (code) => {
//   const dict = ref({})
//   return (() => {
//     appStore.loadDict().then((_) => {
//       dict.value = (appStore.dictMap[code] || {})
//     })
//     return dict
//   })()
// }

// /**
//  * ref版本
//  * 根据code返回字典
//  * 数据格式为options列表
//  * @param code 字典编码
//  * @returns
//  */
// export const useDictOptions = (code) => {
//   const dictOptions = shallowRef<any[]>([])
//   return (() => {
//     appStore.loadDict().then((res) => {
//       dictOptions.value = appStore.dictList[code] || []
//     })
//     return dictOptions
//   })()
// }

/**
 * 根据code返回字典
 * 数据格式为map
 * @param code 字典编码
 * @returns
 */
export const useDict = (code) => {
  return appStore.dictMap[code] || {}
}

/**
 * 根据code返回字典
 * 数据格式为options列表
 * @param code 字典编码
 * @returns
 */
export const useDictOptions = (code) => {
  return appStore.dictList[code] || []
}

/**
 * 根据code和value返回字典标签
 * @param code 字典编码
 * @param value 字典value
 * @returns
 */
export function useDictLabel(code, value) {
  return useDict(code)[value]?.label || '-'
}
